<!DOCTYPE html>

<html lang="en" data-content_root="../">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />

  <title>FindOpenThreads &mdash; CMake 4.1.1 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a2c47e09" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css?v=4d06bd55" />
    
    <script src="../_static/documentation_options.js?v=e6a937a4"></script>
    <script src="../_static/doctools.js?v=9bcbadda"></script>
    <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
    
    <link rel="icon" href="../_static/cmake-favicon.ico"/>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="Findosg" href="Findosg.html" />
    <link rel="prev" title="FindOpenSSL" href="FindOpenSSL.html" />
 

  </head><body>
    <input id="sidebar-check" type="checkbox" />
    <label id="sidebar-overlay" for="sidebar-check"></label>



    <div class="related relbar1" role="navigation" aria-label="Related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="Findosg.html" title="Findosg"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="FindOpenSSL.html" title="FindOpenSSL"
             accesskey="P">previous</a> |</li>
  <li>
    <label class="sidebar-toggle" for="sidebar-check"></label>
  </li>
  <li class="rootlink">
    <img src="../_static/cmake-logo-16.png" width="16" height="16" alt=""/>
    <a href="https://cmake.org/">CMake 4.1.1</a>
    <span class="reldelim1"> &#187;</span>
  </li>
  <li>
    <a href="../index.html">Documentation</a> &#187;
  </li>

          <li class="nav-item nav-item-1"><a href="../manual/cmake-modules.7.html" accesskey="U">cmake-modules(7)</a> &#187;</li>
        <li class="nav-item nav-item-this"><a href="">FindOpenThreads</a></li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <section id="findopenthreads">
<span id="module:FindOpenThreads"></span><h1>FindOpenThreads<a class="headerlink" href="#findopenthreads" title="Link to this heading">¶</a></h1>
<p>Finds the OpenThreads C++ based threading library.</p>
<p>OpenThreads header files are intended to be included as:</p>
<div class="literal-block-wrapper docutils container" id="id1">
<div class="code-block-caption"><span class="caption-text"><code class="docutils literal notranslate"><span class="pre">example.cxx</span></code></span><a class="headerlink" href="#id1" title="Link to this code">¶</a></div>
<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;OpenThreads/Thread&gt;</span>
</pre></div>
</div>
</div>
<section id="result-variables">
<h2>Result Variables<a class="headerlink" href="#result-variables" title="Link to this heading">¶</a></h2>
<p>This module defines the following variables:</p>
<dl class="simple">
<dt><code class="docutils literal notranslate"><span class="pre">OpenThreads_FOUND</span></code></dt><dd><p>Boolean indicating whether OpenThreads library is found.  For backward
compatibility, the <code class="docutils literal notranslate"><span class="pre">OPENTHREADS_FOUND</span></code> variable is also set to the same
value.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">OPENTHREADS_LIBRARY</span></code></dt><dd><p>Libraries needed to link against to use OpenThreads.  This provides either
release (optimized) or debug library variant, which are found separately
depending on the project's <a class="reference internal" href="../manual/cmake-buildsystem.7.html#build-configurations"><span class="std std-ref">Build Configurations</span></a>.</p>
</dd>
</dl>
</section>
<section id="cache-variables">
<h2>Cache Variables<a class="headerlink" href="#cache-variables" title="Link to this heading">¶</a></h2>
<p>The following cache variables may also be set:</p>
<dl class="simple">
<dt><code class="docutils literal notranslate"><span class="pre">OPENTHREADS_INCLUDE_DIR</span></code></dt><dd><p>The directory containing the header files needed to use OpenThreads.</p>
</dd>
</dl>
</section>
<section id="hints">
<h2>Hints<a class="headerlink" href="#hints" title="Link to this heading">¶</a></h2>
<p>This module accepts the following variables:</p>
<dl class="simple">
<dt><code class="docutils literal notranslate"><span class="pre">OPENTHREADS_DIR</span></code></dt><dd><p>An environment or CMake variable that can be set to help find an OpenThreads
library installed in a custom location.  It should point to the installation
destination that was used when configuring, building, and installing
OpenThreads library: <code class="docutils literal notranslate"><span class="pre">./configure</span> <span class="pre">--prefix=$OPENTHREADS_DIR</span></code>.</p>
</dd>
</dl>
<p>This module was originally introduced to support the
<span class="target" id="index-0-module:FindOpenSceneGraph"></span><a class="reference internal" href="FindOpenSceneGraph.html#module:FindOpenSceneGraph" title="FindOpenSceneGraph"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">FindOpenSceneGraph</span></code></a> module and its components.  To simplify one-step
automated configuration and builds when the OpenSceneGraph package is developed
and distributed upstream, this module supports additional environment variables
to find dependencies in specific locations.  This approach is used by upstream
package over specifying <code class="docutils literal notranslate"><span class="pre">-DVAR=value</span></code> on the command line because it offers
better isolation from internal changes to the module and allows more flexibility
when specifying individual OSG components independently of the <code class="docutils literal notranslate"><span class="pre">CMAKE_*_PATH</span></code>
variables.  Explicit <code class="docutils literal notranslate"><span class="pre">-DVAR=value</span></code> arguments can still override these settings
if needed.  Since OpenThreads is an optional standalone dependency of
OpenSceneGraph, this module also honors the following variables for convenience:</p>
<dl class="simple">
<dt><code class="docutils literal notranslate"><span class="pre">OSG_DIR</span></code></dt><dd><p>May be set as an environment or CMake variable. Treated the same as
<code class="docutils literal notranslate"><span class="pre">OPENTHREADS_DIR</span></code>.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">OSGDIR</span></code></dt><dd><p>Environment variable treated the same as <code class="docutils literal notranslate"><span class="pre">OPENTHREADS_DIR</span></code>.</p>
</dd>
</dl>
</section>
<section id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Link to this heading">¶</a></h2>
<p>Finding the OpenThreads library and creating an interface <a class="reference internal" href="../manual/cmake-buildsystem.7.html#imported-targets"><span class="std std-ref">imported target</span></a> that encapsulates its usage requirements for linking to a
project target:</p>
<div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="nf">find_package(</span><span class="nb">OpenThreads</span><span class="nf">)</span>

<span class="nf">if(</span><span class="nb">OpenThreads_FOUND</span><span class="w"> </span><span class="no">AND</span><span class="w"> </span><span class="no">NOT</span><span class="w"> </span><span class="no">TARGET</span><span class="w"> </span><span class="nb">OpenThreads</span><span class="o">::</span><span class="nb">OpenThreads</span><span class="nf">)</span>
<span class="w">  </span><span class="nf">add_library(</span><span class="nb">OpenThreads</span><span class="o">::</span><span class="nb">OpenThreads</span><span class="w"> </span><span class="no">INTERFACE</span><span class="w"> </span><span class="no">IMPORTED</span><span class="nf">)</span>
<span class="w">  </span><span class="nf">set_target_properties(</span>
<span class="w">    </span><span class="nb">OpenThreads</span><span class="o">::</span><span class="nb">OpenThreads</span>
<span class="w">    </span><span class="no">PROPERTIES</span>
<span class="w">      </span><span class="no">INTERFACE_INCLUDE_DIRECTORIES</span><span class="w"> </span><span class="s">&quot;${OPENTHREADS_INCLUDE_DIR}&quot;</span>
<span class="w">      </span><span class="no">INTERFACE_LINK_LIBRARIES</span><span class="w"> </span><span class="s">&quot;${OPENTHREADS_LIBRARY}&quot;</span>
<span class="w">  </span><span class="nf">)</span>
<span class="nf">endif()</span>

<span class="nf">target_link_libraries(</span><span class="nb">example</span><span class="w"> </span><span class="no">PRIVATE</span><span class="w"> </span><span class="nb">OpenThreads</span><span class="o">::</span><span class="nb">OpenThreads</span><span class="nf">)</span>
</pre></div>
</div>
</section>
</section>


            <div class="clearer"></div>
          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="Main">
        <div class="sphinxsidebarwrapper">
  <div>
    <h3>Table of Contents</h3>
    <ul>
<li><a class="reference internal" href="#">FindOpenThreads</a><ul>
<li><a class="reference internal" href="#result-variables">Result Variables</a></li>
<li><a class="reference internal" href="#cache-variables">Cache Variables</a></li>
<li><a class="reference internal" href="#hints">Hints</a></li>
<li><a class="reference internal" href="#examples">Examples</a></li>
</ul>
</li>
</ul>

  </div>
  <div>
    <h4>Previous topic</h4>
    <p class="topless"><a href="FindOpenSSL.html"
                          title="previous chapter">FindOpenSSL</a></p>
  </div>
  <div>
    <h4>Next topic</h4>
    <p class="topless"><a href="Findosg.html"
                          title="next chapter">Findosg</a></p>
  </div>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="../_sources/module/FindOpenThreads.rst.txt"
            rel="nofollow">Show Source</a></li>
    </ul>
   </div>
<search id="searchbox" style="display: none" role="search">
  <h3 id="searchlabel">Quick search</h3>
    <div class="searchformwrapper">
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
      <input type="submit" value="Go" />
    </form>
    </div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related" role="navigation" aria-label="Related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="Findosg.html" title="Findosg"
             >next</a> |</li>
        <li class="right" >
          <a href="FindOpenSSL.html" title="FindOpenSSL"
             >previous</a> |</li>
  <li>
    <label class="sidebar-toggle" for="sidebar-check"></label>
  </li>
  <li class="rootlink">
    <img src="../_static/cmake-logo-16.png" width="16" height="16" alt=""/>
    <a href="https://cmake.org/">CMake 4.1.1</a>
    <span class="reldelim1"> &#187;</span>
  </li>
  <li>
    <a href="../index.html">Documentation</a> &#187;
  </li>

          <li class="nav-item nav-item-1"><a href="../manual/cmake-modules.7.html" >cmake-modules(7)</a> &#187;</li>
        <li class="nav-item nav-item-this"><a href="">FindOpenThreads</a></li> 
      </ul>
    </div>

    <div class="footer" role="contentinfo">
    &#169; Copyright 2000-2025 Kitware, Inc. and Contributors.
      Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.1.3.
    </div>
<script type="text/javascript">
(function() {
  "use strict";
  const hide = () => document.getElementById("sidebar-check").checked = false;
  addEventListener("keydown", e => (e.key === "Escape") && hide());
  addEventListener("click", e => (e.target.tagName === "A") && hide());
  addEventListener("hashchange", hide)
})();
</script>
  </body>
</html>